Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.06.2021, 01:38
Новичок на форуме
Отправить личное сообщение для Cunberssss Посмотреть профиль Найти все сообщения от Cunberssss
 
Регистрация: 30.06.2021
Сообщений: 1

AJAX запрос к фоновой задачи
Здравствуйте! У меня есть некоторое приложение написанное на Python (Flask+Celery), где Celery используется для выполнения фоновой задачи по обработки фотографии. Задача забирает фотографию с папки uploads, обрабатывает ее, результат помещает в папку results. После отправки формы пользователь переходит На страничку html у которой url: /****/process/NameImage.jpg, у которой такое содержание: ...Ожидается обработка фотографии...

Мне нужна помощь в составление AJAX запроса к серверу, чтобы фотография полученная в папку results отобразилась сразу же на страничке без ее перезагрузки как только фоновая задача будет завершена (т.е. фотография с именем NameImage.jpg появится в папке results)

Заранее благодарю за помощь
Ответить с цитированием
  #2 (permalink)  
Старый 30.06.2021, 02:01
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

используйте технологию WebSocket
SocketIO будет в помощь
когда фотография будет отработана, сервер уведомит сам клиента
Ответить с цитированием
  #3 (permalink)  
Старый 30.06.2021, 02:38
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,831

Мне кажется тут больше подойдет Server Sent Events (SSE).
WS тут - это как по воробьям с пушки стрелять.
Ответить с цитированием
  #4 (permalink)  
Старый 30.06.2021, 09:37
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Nexus, уверен в этом? Можешь поделиться опытом предложенной технологии? Какой сервер используешь, что вместо балансировщика? Какие при этом параметры железа? И самое главное, сколько при этом удается обслуживать клиентов? Открытое соединение, это открытый файл. В вебсокетах такого нет. И не пушка это, а реалии современных проектов
Ответить с цитированием
  #5 (permalink)  
Старый 30.06.2021, 09:57
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

При малом колличестве пользователей достаточно динамически с интервалом заменять src ресурса, отслеживая onload, onerror
Тупо пинговать сервер (polling)
Ответить с цитированием
  #6 (permalink)  
Старый 30.06.2021, 14:20
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,831

Vlasenko Fedor,
Сообщение от Vlasenko Fedor
Nexus, уверен в этом?
Ну, все зависит от единовременного кол-ва пользователей, которым нужен описанный функционал.
Если это основная функция сервиса, то я бы выбрал все-таки WS. Если этот функционал нужен "десятку" человек, то SSE.

Сообщение от Vlasenko Fedor
Можешь поделиться опытом предложенной технологии?
Не думаю, что мой опыт чем-то примечателен. Использовал SSE лишь единожды (пару лет назад) на высоконагруженном проекте, где описываемый функционал был почти нафиг никому не нужен.

Сообщение от Vlasenko Fedor
Какой сервер используешь, что вместо балансировщика? Какие при этом параметры железа?
Администрированием серверов занималась отдельная компания на аутсорсе, потому этими вопросами я не занимался. Скажу лишь, что под SSE отдельные сервера не выделялись, все было на сервере приложения.

Сообщение от Vlasenko Fedor
Открытое соединение, это открытый файл.
Лимиты можно "подвинуть".
Ответить с цитированием
  #7 (permalink)  
Старый 30.06.2021, 15:48
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,013

Если обработка изображения укладывается в 30 секунд, то можно не морочить себе голову и просто сразу создать на странице картинку, а по онлоаду показать
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AJAX запрос (jquery). savsoft AJAX и COMET 6 31.03.2021 13:43
Ajax запрос через метод submit() n0kkw1n AJAX и COMET 7 16.12.2016 22:47
Асинхронный ajax запрос imonzx AJAX и COMET 3 13.06.2015 00:02
Ajax запрос на ютуб masterdle Элементы интерфейса 2 16.07.2013 15:32
ajax запрос с подгружемным js HelpeR AJAX и COMET 1 27.10.2008 12:44